package com.denlaku.longan.repository;

import com.denlaku.longan.anno.VarOp;
import com.denlaku.longan.dao.TenantMemberDao;
import com.denlaku.longan.qo.Query;
import com.denlaku.longan.vo.TenantMember;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;

import java.util.List;

/**
 * @author tianx
 */
@Repository
public class TenantMemberRepository {
    @Autowired
    private TenantMemberDao tenantMemberDao;

    /**
     * 查询租户成员
     *
     * @param tenantMember 查询参数
     * @return 租户成员
     */
    public List<TenantMember> list(TenantMember tenantMember) {
        return tenantMemberDao.list(tenantMember);
    }

    /**
     * 根据id获取租户成员
     *
     * @param tenantId 租户ID
     * @param userId 用户ID
     * @return 租户成员
     */
    public TenantMember get(Long tenantId, Long userId) {
        return tenantMemberDao.get(tenantId, userId);
    }

    /**
     * 判断租户成员是否存在
     *
     * @param tenantId 租户ID
     * @param userId 用户ID
     * @return 租户成员
     */
    public boolean exists(Long tenantId, Long userId) {
        boolean exists = tenantMemberDao.exists(tenantId, userId);
        return Boolean.TRUE.equals(exists);
    }

    /**
     * 添加租户成员
     *
     * @param tenantMember 租户成员
     */
    @VarOp
    public void add(TenantMember tenantMember) {
        tenantMemberDao.add(tenantMember);
    }

    /**
     * 更新租户成员
     *
     * @param tenantMember 租户成员
     */
    @VarOp
    public void update(TenantMember tenantMember) {
        tenantMemberDao.update(tenantMember);
    }

    /**
     * 删除户成员
     *
     * @param query 查询参数
     */
    public void delete(Query query) {
        tenantMemberDao.delete(query);
    }

}
